package br.catraca.controlador;
import br.catraca.modelo.Administrador;
import br.catraca.modelo.Aluno;
import br.catraca.modelo.Departamento;
import br.catraca.modelo.Funcionario;
import br.catraca.repositorio.Repositorio;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


public class Controlador {
	
	private Repositorio repositorio = new Repositorio();
	

	public List<Administrador> validarLogin (String login, String senha){
		
		List <Administrador> administrador = new ArrayList();
		boolean var = true;
		
		if (true){
			
			administrador = repositorio.listarAdministrador(senha,login);  
			
			if (administrador.isEmpty()){
				var = false;
			}
			
		}
		
        if (var){
        	
        	if (administrador.get(0).getLogin().equals(login) && administrador.get(0).getSenha().equals(senha)){
        		
        		return administrador;
        		
        	} else{
        		
        		administrador.remove(0);
        		return administrador;
        	}					
			
		}
        
        return administrador;		
		
		
	}
	
	public List <Departamento> listarDepartamentos(){
	
	return repositorio.listarDepartamentos();	
	}
	
	
	
	public boolean excluirDepartamento(String departamento){
		
		boolean statusExclusao = repositorio.excluirDepartamento(departamento);
		
		return statusExclusao;
		
		
	}
	
	public boolean listarFuncionarioNoDepartamento (HttpServletRequest request,String id_departamento){
		
		 List <Funcionario> funcionarios = repositorio.listarFuncionarioNoDepartamento(id_departamento);
                 List<Aluno> alunos = repositorio.listarAlunoNoDepartamento(id_departamento);
                 
                 if (funcionarios.isEmpty() && alunos.isEmpty()){
                    
                     HttpSession secao = request.getSession();
		 
		 secao.setAttribute("funcionarios", funcionarios);
                 secao.setAttribute("alunos", alunos);
                    return false;
                    
                } else {
                 HttpSession secao = request.getSession();
		 
		 secao.setAttribute("funcionarios", funcionarios);
                 secao.setAttribute("alunos", alunos);
                 return true;
		 
                }
                
                      
              
          }
        
        public void pegarNomeDoDepartamentoNaLista (HttpServletRequest request, String deptSelect){
              
              HttpSession secao = request.getSession();
              
              List <Departamento> dpt = (List<Departamento>) secao.getAttribute("departamentos");
              int id_departamento = Integer.parseInt(deptSelect);
              
              for (int index =0; index < dpt.size(); index++){
                  if (dpt.get(index).getId()== id_departamento){
                      secao.setAttribute("deptSelect",dpt.get(index).getNome() );
                  }
              }}
		 
		
} 
		 
		 
		 		
	
	
	



